#函数的引用
'''
对象引用本质是对象身份（存储对象的内存地址）的具体表示。
函数的引用：如对函数的引用、参数的传递引用。

'''
#如果函数收到的是一个可变对象（比如字典或列表）的引用，就能够修改对象的原始值，
#相当于通过‘传引用’来传递对象：（内存地址不会改变）

#如果函数收到的是一个不可变对象（如数字、字符或元组）的引用，就不能直接修改
#原始对象，相当于‘传值’来传递对象：（内存地址发生改变）

'''
函数的引用：如函数名的引用、函数传递时的引用传递
'''
def test1():
    print('---in test1 func----')
test1()
res = test1     #可理解为变量赋值
print(id(res))
print(id(test1))
print('\n')

#函数引用小例
def test2():
    print('---in test2 func----')
res = test2     #引用函数名，可理解为变量赋值。
res()  #相当于给函数另外取了一个名字，并完成函数调用。
